package com.sword.service.impl.stock.product;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sword.constant.MessageConstant;
import com.sword.page.PageResult;
import com.sword.page.QueryPageBean;
import com.sword.pojo.stock.product.Productunit;
import com.sword.service.impl.BaseServiceImpl;
import com.sword.service.impl.BasicBaseServiceImpl;
import com.sword.service.stock.product.ProductUnitService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.Date;

@Service
@Transactional
public class ProductUnitServiceImpl extends BasicBaseServiceImpl<Productunit> implements ProductUnitService {
	
	/**
	 * 分页查询商品计量单位
	 *
	 * @param queryPageBean 分页类
	 * @return com.sword.page.PageResult
	 * @author <1254087415@qq.com>
	 * @since 2021/6/4 16:30
	 */
	public PageResult queryProductUnit(QueryPageBean queryPageBean) {
		QueryWrapper<Productunit> wrapper = new QueryWrapper<>();
		
		String queryString = queryPageBean.getQueryString();
		
		if (queryString != null) {
			wrapper.like("productunitid", queryString).or().like("Remark", queryString);
		}
		
		IPage<Productunit> ipage = super.queryPageList(wrapper, queryPageBean.getPage(), queryPageBean.getLimit());
		
		return new PageResult(0, MessageConstant.QUERY_PRODOCTUNIT_SUCCESS, ipage.getTotal(), ipage.getRecords());
		
	}
	
	/**
	 * 添加商品计量单位
	 *
	 * @param productunit 商品计量单位数据
	 * @return java.lang.Integer
	 * @author <1254087415@qq.com>
	 * @since 2021/6/4 16:31
	 */
	public Integer addProductUnit(Productunit productunit) {
		productunit.setCreateDate(new Date());
		return super.save(productunit);
	}

	/**
	 * 编辑商品计量单位
	 *
	 * @param productunit 商品计量单位数据
	 * @return java.lang.Integer
	 * @author <1254087415@qq.com>
	 * @since 2021/6/5 14:00
	 */
	public Integer editProductUnit(Productunit productunit) {
		return super.update(productunit);
	}
	
	/**
	 * 删除商品计量单位
	 *
	 * @param id 商品计量单位id
	 * @return java.lang.Integer
	 * @author <1254087415@qq.com>
	 * @since 2021/6/5 14:21
	 */
	@Override
	public Integer deleteProductUnit(Integer id) {
		return super.deleteById(Long.valueOf(id));
	}
	
	
}
